﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;

namespace Async2._2
{
    class Program
    {
        static void Main(string[] args)
        {

        }

        static Task<T> NotImplementedAsync<T>()
        {
            var tcs = new TaskCompletionSource<T>();
            tcs.SetException(new NotImplementedException());
            return tcs.Task;
        }

        private static readonly Task<int> zeroTask = Task.FromResult(0);
        static Task<int> GetValueAsync()
        {
            return zeroTask;
        }
    }

    interface IMyAsyncInterface
    {
        Task<int> GetValueAsync();
    }

    class mySynchronousImplementation : IMyAsyncInterface
    {
        public Task<int> GetValueAsync()
        {
            return Task.FromResult(13);
        }
    }



}
